Generally, a semiconductor memory device is a storage device that stores data and, if necessary, the stored data can be read. Semiconductor memory device may be classified into random access memory (RAM) and read only memory (ROM). A RAM is a volatile memory device in which stored data is lost when power is turned off. A ROM is nonvolatile memory device in which stored data is retained even if power is turned off. RAM memories include dynamic RAM (DRAM), static RAM (SRAM), etc. ROM memories include programmable ROM (PROM), erasable PROM (EPROM), electrically EPROM (EEPROM), flash memory, etc. Flash memory devices may be classified into NAND flash memory devices and NOR flash memory devices. A NOR flash memory device is a code-storing type memory and is widely used in mobile terminal applications that desire fast data operations because of high operation speeds.
A memory cell of a NOR flash memory device is connected between a bit line and a source line. A plurality of memory cells connected to one word line share the source line. A memory cell is detected as an on cell or an off cell depending on a word line voltage during a read operation. An on cell means that the memory cell is in a turned-on state because the word line voltage is greater than the threshold voltage. In this state, a current greater than a predetermined current flows in the memory cell. An off cell means that the memory cell is in a turned-off state because the word line voltage is less than the threshold voltage. In this state, a current less than a predetermined current flows in the memory cell.
A NOR flash memory device typically performs a program verify operation after a program operation. The program verify operation is to verify whether the threshold voltage of the memory cell has reached a desired level. The program verify operation applies a program verify voltage to the word line and determines whether the program operation is “pass” or “fail” by sensing a current that flows in the memory cell.
The program verify operation is performed on the plurality of memory cells (e.g. 128 memory cells) at the same time. The plurality of memory cells may include memory cells requiring program verification and memory cells requiring no program verification. The memory cells that do not require program verification are those memory cells having a threshold voltage less than the desired program state or those memory cells that have already “passed” program verification.
During the program verify operation, a relatively large amount of current flows in the memory cells including those requiring no program verification. Because the voltage level of the source line increases, the program is passed before the threshold voltage of the memory cells requiring the program verification reaches the desired level.
For example, a memory cell may include four states such as “11,” “10,” “01,” and “00” according to the threshold voltage. During a “01” program operation, a memory cell in a “11” state and a memory cell in a “01” state may coexist. During the “01” program verify operation, a large amount of a current may flow in the memory cell in the 11 state causing the voltage level in the source line to increase. This may affect the memory cell in the “01” state. That is, the program may be passed before the threshold voltage of the memory cell reaches the “01” state.